/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigeadmi.cxc.beans;

import edu.upn.sigeadmi.cxc.bc.TasaInteresDelegate;
import edu.upn.sigeadmi.cxc.be.TasaInteres;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;

/**
 *
 * @author Administrador
 */
public class TasaInteresController {

    private TasaInteresDelegate delegado;
    private TasaInteres tasainteres;

/*
 Modificacion realizada por Daniel Zavaleta, se agregaron 2 atributos
 * para poder usarlos en el Combo.
 */
     private List<SelectItem> intereses;
    private String selectedItem;

     public TasaInteresController() {
        delegado = new TasaInteresDelegate();
        tasainteres = new TasaInteres();
    }

    public String nuevo(){
        tasainteres= new TasaInteres();
        return "nuevo";
    }
    public String edita() {
        return "editar";
    }

    public String mostrar() {
        return "mostrar";
    }

    public String editar(){
        try {
            if(tasainteres !=null){
            delegado.editar(tasainteres);
            return "volver";
            }
        } catch (Exception e) {
             e.printStackTrace();
        }
        return"";
    }

    public String eliminar()throws Exception{
         try{
             if (tasainteres !=null) {
                 delegado.eliminar(tasainteres);
             }else{}
        }catch(Exception e){
            throw new Exception("Borrar. " + e.getMessage(), e);
        }
         return "";
    }

    public String volver(){
        tasainteres= null;
        return "listar";
    }

    public String guardar() {
        try{
            delegado.crear(tasainteres);
            return "volver";
        }catch(Exception e){
            e.fillInStackTrace();
        }
        return "";
    }

    public List<TasaInteres> getTasaIntereses() {
        try {
            return delegado.listar();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    /*Modificacion creada por Daniel Zavaleta.
     Se creo el Método para acceder a la lista de tasa de intereses
     * pero ahora desde un model, el cual será usado en el combo.
     */
    public  List<SelectItem> getListaInteres() {
        List<SelectItem> combo = null;
        try {
            List<TasaInteres> lista = delegado.listar();
            combo = new ArrayList<SelectItem>();
            if (lista.size() > 0) {
                combo.add(new SelectItem(String.valueOf(0),"Tasas Disponibles"));
                for (TasaInteres t : lista) {
                    combo.add(new SelectItem(String.valueOf(t.getPkTasaInteres()),t.getDescripcion()));
                }
            } else {
               combo.add(new SelectItem(String.valueOf(0),"No hay Registros"));
            }

        } catch (Exception e) {
           combo.add(new SelectItem(String.valueOf(0),"ERROR"));
        }

        return combo;
    }


    public TasaInteresDelegate getDelegado() {
        return delegado;
    }

    public void setDelegado(TasaInteresDelegate delegado) {
        this.delegado = delegado;
    }

    public TasaInteres getTasainteres() {
        return tasainteres;
    }

    public void setTasainteres(TasaInteres tasainteres) {
        this.tasainteres = tasainteres;
    }
}
